Computer virtualization is a technique that involves encapsulating a representation of a physical computing machine platform into a virtual machine (VM) that is executed under the control of virtualization software running on hardware computing platforms (also referred to herein as “hosts” or “host computing systems”). A group of hardware computing platforms may be organized as a cluster to provide hardware resources for VMs. VMs may use virtual machine disks (VMDKs) to store its operating system, program files, applications installed, and other data associated with its activities. The VMDKs that the VMs can access may reside on a virtual machine file system (VMFS) created on a local data store or a VMFS data store connected to host computing systems via fibre channel (FC) switches.
In the virtualized environment, a VM may be deployed on a host or a VM running on a host can access a VMDK after importing/copying the VMDK from a shared location like a shared network file system to a data store associated with the host. The shared location may include a read only copy of the VMDK that the user needs to import to the data store associated with the host for using the VMDK. Further, the VMDK residing on the shared network file system cannot be used directly for the VM since the VMDK can be shared across multiple users or hosts. Also, the shared network file system can be used by multiple users and hence importing operation of the VMDK can be slow. Moreover, the time to import the complete VMDK depends on the size of the VMDK. For example, when the VMDK size is considerably huge (e.g., 30 GB), it may take a significant amount of time to import/copy the complete VMDK from the shared network file system to the data store of the host.